package com.lidong.service;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;

/**
 * @Description :
 * @Author : lidong
 * @Date : 2017年11月8日
 */
@Service
public class SayService {

	@Resource
	private RestTemplate restTemplate;

	/**
	 * 在hiService方法上加上@HystrixCommand注解
	 * 该注解对该方法创建了熔断器的功能，并指定了fallbackMethod熔断方法
	 */
	@HystrixCommand(fallbackMethod = "hiError")
	public String say(String name) {
		return restTemplate.getForObject("http://SERVICE-SAY/say?name=" + name, String.class);
	}

	public String hiError(String name) {
		return "Hi," + name + ",sorry,system error!";
	}

}
